Method and apparatus for generating a virtual interactive workspace

ABSTRACT

An approach is provided for creating a virtual workspace among devices based, at least in part, on location information. The virtual workspace corresponds to an application or a service common to the devices. Monitoring of the movement of one or more of the devices causes manipulation of the virtual workspace, the application, the service, or a combination thereof based, at least in part, on the movement. Example applications and services include media editing, media playback, image processing, social networking, and social control functionality.

BACKGROUND

Mobile devices are rapidly becoming the computing device of choice fortoday's tech-savvy, on-the-go users. Very often, mobile device usersdesire to engage in real-time collaborative processing tasks or socialnetworking sessions with other wireless device users. The rise inpopularity of social networking mediums such as Facebook®, MySpace®,LinkedIn®, Twitter®, various blogs sites, chat rooms, peer-to-peerapplications and the like, is due in much part to the fact that suchinteraction can be performed on-the-go.

Of course, the overall quality of experience of a mobile device user asthey engage with others in a collaborative networking environmentdepends on various factors. In particular, the experience depends on theextent to which the user's device can visually depict all involvedparties. Another important factor is the ability of shared services orapplications to promote seamless interaction amongst users (e.g.,real-time file sharing). As yet another factor, the persistent movement,orientation, placement or whereabouts of users relative to a definedphysical or network environment in which they interact is also key tothe quality of the experience. Unfortunately, while today's socialnetworking and collaborative software applications are designed toreadily facilitate user interaction, the small display of today'swireless devices limits the extent of this interactivity. The small formfactor of mobile devices, while making them attractive for mobilitypurposes, nonetheless allow for only a limited amount of information tobe presented at a time. This can significantly diminish thecollaborative visual and interactive perspective the user desires.

SOME EXAMPLE EMBODIMENTS

Therefore, there is a need for an approach to enable collaborative tasksto be performed more efficiently by mobile device users by enhancing theworkspace in which they interact.

According to one embodiment, a method comprises causing, at least inpart, detection of location information associated with a plurality ofdevices. The method also comprises creating a virtual workspace amongthe devices based, at least in part, on the location information. Thevirtual workspace corresponds to an application or a service common tothe devices. The method also comprises causing, at least in part,monitoring of movement of one or more of the devices. The method furthercomprises causing, at least in part, manipulation of the virtualworkspace, the application, the service, or a combination thereof based,at least in part, on the movement.

According to another embodiment, an apparatus comprises at least oneprocessor. The apparatus also comprises at least one memory includingcomputer program code for one or more computer programs, the at leastone memory and the computer program code configured to, with the atleast one processor, cause the apparatus to detect location informationassociated with a plurality of devices. The apparatus is also caused tocreate a virtual workspace among the devices based, at least in part, onthe location information. The virtual workspace corresponds to anapplication or a service common to the devices. The apparatus is furthercaused to monitor movement of one or more of the devices. The apparatusis further caused to manipulate the virtual workspace, the application,the service, or a combination thereof based, at least in part, on themovement.

According to another embodiment, a computer-readable storage mediumcarrying one or more sequences of one or more instructions which, whenexecuted by one or more processors, cause an apparatus to detectlocation information associated with a plurality of devices. Theapparatus is also caused to create a virtual workspace among the devicesbased, at least in part, on the location information. The virtualworkspace corresponds to an application or a service common to thedevices. The apparatus is further caused to monitor movement of one ormore of the devices. The apparatus is further caused to manipulate thevirtual workspace, the application, the service, or a combinationthereof based, at least in part, on the movement.

According to another embodiment, an apparatus comprises means forcausing, at least in part, detection of location information associatedwith a plurality of devices. The apparatus also comprises means forcreating a virtual workspace among the devices based, at least in part,on the location information. The virtual workspace corresponds to anapplication or a service common to the devices. The apparatus furthercomprises means for causing, at least in part, monitoring of movement ofone or more of the devices. The method further comprises means forcausing, at least in part, manipulation of the virtual workspace, theapplication, the service, or a combination thereof based, at least inpart, on the movement.

Still other aspects, features and advantages of the invention arereadily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the invention. Theinvention is also capable of other and different embodiments, and itsseveral details can be modified in various obvious respects, all withoutdeparting from the spirit and scope of the invention. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example, andnot by way of limitation, in the figures of the accompanying drawings:

FIG. 1 is a diagram of a system capable of enabling equipment users tointeract with one another within the context of a collaborative, virtualnetworking environment, according to one embodiment;

FIG. 2A is a flowchart depicting the process for enabling equipmentusers to interact with one another within the context of acollaborative, virtual networking environment, according to oneembodiment;

FIGS. 2B-2D are diagrams of several user equipment interacting togenerate and collaborate within a virtual workspace environment asdescribed with respect to FIG. 2A, according to various embodiments;

FIGS. 3A-3C are diagrams of user equipment collaborating to performmedia processing within a virtual networking environment, according tovarious embodiments;

FIGS. 4A and 4B are diagrams of user equipment collaborating to performimage processing within a virtual networking environment, according tovarious embodiments;

FIG. 5A is a flowchart of the process is by which several user equipmentcollaborate to perform data sharing and networking within a virtualworkspace environment, according to one embodiment;

FIGS. 5B-5H are diagrams of several user equipment collaborating toperform data sharing and networking within a virtual workspaceenvironment, according to various embodiments;

FIG. 6 is a diagram of user equipment interacting to form a socialcontrol group, according to one embodiment;

FIG. 7 is a diagram of hardware that can be used to implement anembodiment of the invention;

FIG. 8 is a diagram of a chip set that can be used to implement anembodiment of the invention; and

FIG. 9 is a diagram of a mobile terminal (e.g., handset) that can beused to implement an embodiment of the invention.

DESCRIPTION OF SOME EMBODIMENTS

Examples of a method, apparatus, and computer program for enabling theconvenient generation of a virtual workspace for sharing and processingdata and communicating amongst a plurality of user equipment—i.e.,mobile devices—are disclosed. In the following description, for thepurposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of the embodiments of theinvention. It is apparent, however, to one skilled in the art that theembodiments of the invention may be practiced without these specificdetails or with an equivalent arrangement. In other instances,well-known structures and devices are shown in block diagram form inorder to avoid unnecessarily obscuring the embodiments of the invention.

FIG. 1 is a diagram of a system capable of enabling mobile equipmentusers to interact with one another within the context of acollaborative, virtual networking environment, according to oneembodiment. As mentioned before, popular social networking applicationsand services allow users to readily share media such as images, musicand video, communicate over one or more social networking platforms,perform various file or data processing tasks, control other devicesthrough various signal processing and control means, etc. Unfortunately,mobile devices by default feature small visual displays, which can onlyshow a limited amount of information. With such limited visualperspective, the user cannot possibly experience a high level of socialor physical interactivity with the various users in which they areengaged. Even when the user's mobile equipment is a conventionalcomputing device such as a netbook, notebook or laptop featuring alarger display than that of a cell phone or Smartphone, confining ashared workspace to the dimensions of an operating system desktopdiminishes the quality of the collaborative experience.

Hence, the approach described herein pertain to methods and systems forenhancing the ability of user equipment to perform shared processing andcommunication tasks using the space outside the device screen as avirtual workspace. As used herein, the term “workspace” refers to theproximal amount of physical or virtually perceivable space madeavailable to a device user for interacting with other users for thepurpose of performing various shared processing or communication tasks(work). With this in mind, a “virtual workspace” as presented hereinpertains to any perceivable space that can be rendered to a user devicein a manner suitable for representing a broader physical, social ornetwork environment or shared processing context. Within the workspace,a user can interact with other users through active participation andsharing of common services within the same environment. System 100 ofFIG. 1 presents an implementation of such a workspace in accord with oneembodiment.

The system 100 comprises different user equipment (UEs) 101 a-101 n(also collectively referred to as UEs 101) having connectivity to one ormore shared services platforms 103 a-103 m (also collectively referredto as shared services platform 103) via a communication network 105. Inone embodiment, each of the UEs 101 includes respective servicesinterfaces 107 a-107 n (also collectively referred to as servicesinterfaces 107). As an example, the services interface 107 allows therespective UE 101 to exchange or share data over the network 105 withthe shared services platform 103 and/or other UEs 101. The data can beany content, information or applications intended to be stored to andretrieved from the shared services platform 103 as services data 109a-109 m (also collectively referred to as services data 109). This caninclude, but is not limited to, images, video, audio, contact list data,executable instruction sets such as applets, documents, message threads,profile data, visual descriptors, etc. By way of example, the servicesinterface 107 may be a dedicated media management application (e.g., aweb service application), an internet browser from whence the user mayestablish a session with the media services platform 103, or the like.

In general, the services interface 107 and the media services platform103 communicate with each other and other components of thecommunication network 105 using well known, new or still developingprotocols. In this context, a protocol includes a set of rules defininghow the network nodes within the communication network 105 interact witheach other based on information sent over the communication links. Theprotocols are effective at different layers of operation within eachnode, from generating and receiving physical signals of various types,to selecting a link for transferring those signals, to the format ofinformation indicated by those signals, to identifying which softwareapplication executing on a computer system sends or receives theinformation. The conceptually different layers of protocols forexchanging information over a network are described in the Open SystemsInterconnection (OSI) Reference Model.

Communications between the network nodes are typically effected byexchanging discrete packets of data. Each packet typically comprises (1)header information associated with a particular protocol, and (2)payload information that follows the header information and containsinformation that may be processed independently of that particularprotocol. In some protocols, the packet includes (3) trailer informationfollowing the payload and indicating the end of the payload information.The header includes information such as the source of the packet, itsdestination, the length of the payload, and other properties used by theprotocol. Often, the data in the payload for the particular protocolincludes a header and payload for a different protocol associated with adifferent, higher layer of the OSI Reference Model. The header for aparticular protocol typically indicates a type for the next protocolcontained in its payload. The higher layer protocol is said to beencapsulated in the lower layer protocol. The headers included in apacket traversing multiple heterogeneous networks, such as the Internet,typically include a physical (layer 1) header, a data-link (layer 2)header, an internetwork (layer 3) header and a transport (layer 4)header, and various application headers (layer 5, layer 6 and layer 7)as defined by the OSI Reference Model.

By way of example, the communication network 105 of system 100 includesone or more networks such as a data network (not shown), a wirelessnetwork (not shown), a telephony network (not shown), or any combinationthereof. It is contemplated that the data network may be any local areanetwork (LAN), metropolitan area network (MAN), wide area network (WAN),a public data network (e.g., the Internet), or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork. In addition, the wireless network may be, for example, acellular network and may employ various technologies including enhanceddata rates for global evolution (EDGE), general packet radio service(GPRS), global system for mobile communications (GSM), Internet protocolmultimedia subsystem (IMS), universal mobile telecommunications system(UMTS), etc., as well as any other suitable wireless medium, e.g.,worldwide interoperability for microwave access (WiMAX), Long TermEvolution (LTE) networks, code division multiple access (CDMA), widebandcode division multiple access (WCDMA), wireless fidelity (WiFi),satellite, mobile ad-hoc network (MANET), personal area network (PAN)(e.g., a Bluetooth® PAN), and the like.

The shared services platform 103 pertains to any hosted (or evenclient/server based) applications intended to promote the exchange ofdata, enable concurrent processing capability between users orfacilitate interactive or real-time communication between one or moreregistered users of said service. Examples include, but are not limitedto social networking service providers such as Facebook®, MySpace® andLinkedIn®, shared content and application processing providers such asGoogle Apps® by Google®, Exchange® or Office Live® by Microsoft® andHuddle® applications, various cloud computing or shareware/groupwareproviders, or the like. In general, the shared services platformsprovide differing capabilities to users who collaborate with one anotherusing it, including but not limited to contact and profilemanagement—i.e., for the user and his/her social or business networkcontacts), discussion/chat rooms, whiteboards, file sharing, documentcreation and management, project management, permissions andrestrictions management, meeting and conference management,content/user/data search capability, shared dashboard capability, etc.As capabilities and providers differ vastly, many of the aforementionedcapabilities are generally integrated in the shared services platform103. Hence, any platform for facilitating collaboration between users iswithin the scope of the inventive concepts presented herein. Dataproduced or exchanged by participants is maintained by the respectiveshared services platform 103 as services data 109.

As mentioned above, there are many different shared services platformproviders and applications. It should be noted that the different UEs101 may access different shared services platforms 103 depending on thepreferences of a respective user. Hence, in the figure as shown,distinct users of UE 101 can access the same shared services platform103 a or a different platform 103 m for the purposes of facilitatingcommunication amongst themselves or other users. It will be seen inlater discussions that regardless of the platform of choice, theapproach described herein enables convenient sharing of services data111 amongst users independent of the chosen platform 103.

In addition to the services interface 107, each UE 101 featuresrespective virtual workspace managers 111 a-111 n (also collectivelyknown as virtual workspace managers 111) and augmented realityapplications 113 a-113 n (also collectively known as augmented realityapplications 113). In one embodiment, the virtual workspace manager 115includes one or more components (not shown) for generating a virtualworkspace among a plurality of UEs 101 based, at least in part, on thelocation information of the UEs 101, and then manipulating the virtualworkspace based on the movement or locations of the corresponding of theUEs 101. By way of example, the virtual workspace may be used to depicta user interface of one or more applications, services, or the like thatare common to the UEs 101. It is contemplated that the functions of thevirtual workspace manager 115 may be combined in one or more componentsor performed by other components of equivalent functionality (e.g., theshared platform 103).

In certain embodiments, once the virtual workspace is created by thevirtual workspace manager 115, the UE 101 enables the augmented realityapplications 113 to generate real-time representations of the virtualworkspace environments with virtual computer-generated imagery. Morespecifically, the view of workspace is modified or generated by theapplication 113 and/or the virtual workspace manager 111 such that theview of the virtual workspace presented in any one of the participatingUEs 101 is based, at least in part, on an orientation (e.g., location,directional heading, tilt angle, etc.) of the UE 101 in relation to thevirtual workspace. For example, when the UE 101 is operating in anorientation that is within the same plane as the virtual workspace, theaugmented reality application 113 and/or the virtual workspace manager111 may depict, for instance, a virtual window showing a portion of thevirtual workspace that is visible from the perspective of the UE 101.When the UE 101 is moved or picked up so that the UE 101 is either aboveor below the plane of the virtual workspace, the application 113 and/orthe virtual workspace manager 111 may render computer imagery that canpan or zoom over the virtual workspace based on the location of the UE101 with respect to the virtual workspace. More specifically, by raisingthe UE 101 above the plane of the virtual workspace, the application 113can render a wider angle view of the virtual workspace so that more ofthe virtual workspace is visible in the rendered view of the UE 101. Inone embodiment, the user interfaces of the respective UEs 101 arepartial views to the virtual workspace. Moreover, each of the devicesmay have different views of the workspace at different zoom levels.

In one embodiment, physical movements of the UEs 101 correspond toequivalent movements in the virtual workspace. These movements (e.g.,panning along the virtual workspace) can be used, for instance, tolocate virtual objects within the virtual workspace, select the objects,change the properties of the objects, and the like. The location,selection, and changing of the properties can be further specified bydifferent movements (e.g., rotation of the UE 101, alignment of the UE101, etc.).

Consider, for example, a scenario where a user is operating a cell phonewith integrated video capture that is recording the user's currentsurroundings. The augmented reality (AR) client application 113 operableon the cell phone can interact with the video capturing device, locationdetection systems and any other sensory mechanisms of the cell phone, tooverlay various graphic elements atop the recorded image or a virtualrepresentation of the recorded image to show the visible portions of thevirtual workspace and the objects contained therein. The graphicelements can convey useful contextual information to the user regardingthe images being captured, such as the names of objects, addresses, newsdata, advertisements, other attractions within proximity to the imagebeing captured, etc., all in real-time. Moreover, the rendered imagesare contextually relevant to the services and/or applications associatedwith the virtual workspace. In the current example, the augmentedreality application is a client application 113 for generating ARrelated views respective to detected/shared location, orientation,position, movement or whereabouts information or content (e.g., asdetermined by a connectivity and position sensor, to be describedlater). In some instances, the shared services platform 103 can featurevarious AR related applications as well for interacting with the ARclient application 113.

In general, the UE 101 is any type of mobile terminal, fixed terminal,or portable terminal including a mobile handset, station, unit, device,multimedia computer, multimedia tablet, Internet node, communicator,desktop computer, laptop computer, Personal Digital Assistants (PDAs),or any combination thereof. It is also contemplated that the UE 101 cansupport any type of interface to the user (such as “wearable” circuitry,etc.). Moreover, the UE 101 may execute one or more softwareapplications or utilities, including but not limited to those forenabling or facilitating network access and communication, internetbrowsing, social networking, e-mail communication, file sharing and datatransfer, word processing, data entry, spreadsheet processing,mathematical computation, etc. These applications and utilities may alsobe interoperable, so as to enable the execution of various features ofthe aforementioned application and utilities to be simultaneouslyexecuted to enable specific user tasks. Data generated by or exchangedwith the device, such as by other devices or by way of the sharedservices platform 103, can be stored to a datastore or memory (notshown) of the UE 101.

Each UE may also have operable thereon one or more connectivity andpositioning sensors (CPS) 115 a-115 n (also collectively referred to asCPS 115) for enabling respective devices to detect the location of otherdevices relative to its current position, orientation or movement.Furthermore, the CPS 115 enables communication sessions to beestablished between detected devices to facilitate a means of exclusivecommunication between the devices for creating the virtual workspaceand/or manipulating the services and/or applications depicted in thevirtual workspace. More regarding this capability is presented in thefollowing section.

FIG. 2A is a flowchart depicting the process for enabling equipmentusers to interact with one another within the context of acollaborative, virtual networking environment, according to oneembodiment. The process 200 of FIG. 2A is explained with the diagrams ofFIGS. 2B-2D depicting UEs 101 interacting to generate and collaboratewithin a virtual workspace environment of FIG. 2A, according to variousembodiments. In one embodiment, the CPS 115 is a positioning system thatcombines ultrasonic and inertial positioning sensors to detect changesin movement, position, orientation or presence of other devices or UEs101. In the context of the present invention, this capabilityfacilitates collaborative communication amongst complimentarily placeddevices and enables respective devices to perform shared applicationusage. By way of example, as shown in FIG. 2B, a UE 101's relativeposition with respect to other nearby UEs 101 is measured usingultrasonic signals while inertial positioning sensors are used to detectshifts in movement from the position. The CPS 115 functionality, whilepresent on each user device 211-217 of FIGS. 2B-2D, will be describedfrom the perspective of a single UE 101, namely user device 211. It willbe understood, however, that all of the devices 211-217 shown have thesame or substantially the same relative design. Further, while devices211-217 are depicted as being identical, the CPS 115 functionality aspresented herein is applicable to any device type or form factor. Thus,the ability to detect skew or alteration in position, orientation,movement or the like is achievable even with differing sensor types ororientations within a given differing device type.

FIG. 2B depicts a plurality of user devices 211-217 positioned relativeto one another to enable shared communication and interaction viavirtual workspace. In this example, each device is proximally positionedsuch that their relative adjacent (side-by-side) distance 221, paralleldistance (face-to-face) 219, and/or diagonal distance (not shown) fromone another is can be determined using the functions of the CPS 115. Byway of example, these distances can be calculated, at least in part,based on the extent of distance between complimentary of the one or moresensors 221 and 223 a-d affixed at various points of two or more userdevices 227.

In one example, the devices have four transmitters 221, located at themiddle of the device and four receivers 223 a-d, located at the cornersto constitute at least some of the components of the CPS 115. In certainembodiments, both transmitters and receivers use a small slot openingnear the bottom of the device to minimize the risk that the user's handis blocking the sensors and to create a uniform sensitivity to alldirectional changes (e.g., filtering out unwanted frequencies from beingdetected). Moreover, it is contemplated that, in one embodiment, eachtransmitter 221 as placed has 180 degree radiation patterns whilereceivers feature 270 degree patterns. This is advantageous inrotational, spatial or kinetic activity algorithm design given that theangle of the transmitter and the receiver can be approximated.

In this example, ultrasonic positioning detection starts with aninfrared signal, which is sent by the transmitters 221 uniformly to alldirections. This signal serves as a starting point for calculating theultrasound transmission delay. The IR-signal also has an ID-code whichidentifies the transmitter and informs the other devices whether thetransmitter device is stationary or moving. The IR-signal is also usedto define transmission slot for every device to avoid collisions.

The time difference between the beginning of the IR-signal and theinstant of reception of the ultrasound burst is used to calculate thedistance. The receivers 223 a-d analyze the envelope of the burstsignal, where the envelope is created using analog electronics ratherthan fast AD-conversion and processing. From this, the Q-value—theamount of energy released in response to movement of the device—of thetransmitters 221 and the receiving circuitry 223 a-d is known.Consequently, the burst envelope waveform can be approximated.

The detected waveform is then used in calculating the starting point ofthe received burst since the beginning of the burst is always below thecorresponding noise limit. The transmitted ultrasonic signal is madesufficiently high and bandwidth is minimized in order to minimizeexternal noises from the measurement. Also, signal levels oftransmitters 221 are increased using a resonance circuit with controlledQ-value.

In general, transmitted ultrasonic signals are received with two or moremicrophones (the receivers 223 a-d). Since the dimensions of the userdevice is known, the distance and the angle of the various transmitters221 can be calculated using trilateration and clustering techniques.Clustering and trilateration accuracy is improved by combining thepositioning data from different devices—in other words, oversampling andthen utilizing the average.

Inertial positioning sensors of the CPS functionality 107 are employedis using 3D gyroscopes, 3D accelerometers and 3D compass technology.Momentary positions and gestures are persistently calculated as wellusing the data collected by these devices. Consistent observance ofrelative positional change is performed for each device individually, aswell as relative to each other.

Overall, the CPS functionality 115, implemented in the form of thevarious sensor arrays described above, can be positioned just below agiven phone's display screen and connected to an internal debug serialport. While presented from the perspective of devices aligned along acommon plane 225, indeed, the same principles apply when the devices arestacked upon one another. Based on the determined position, movement ororientation of the different devices 211-217 relative to one another, acommunication session can be initiated by way of Bluetooth or as awireless local area network WLAN connection (which may accommodatelarger connectivity distance thresholds than Bluetooth). Establishmentof this communication session relative to the current locations ofdevices sets the initial parameters (e.g., boundaries) of the virtualworkspace in which the devices will ultimately interact by way of deviceuser. Resultantly, the devices 211-217 can be subsequently moved withouteliminating the connection or dissipating the established workspace.

In conjunction with the connectivity and position sensors, each userdevice (e.g., UE 101 of FIG. 1) can also share spatiotemporal data witha respective shared services platform 103. As used herein, the term“spatiotemporal data” refers to any data that conveys a particularmoment in space and time for a particular object in question.Spatiotemporal data is often used in applications where understanding ofan object's relative change in location, position or perspective frommoment-to-moment is critical. This may include applications such asGeographic Information Systems (GIS), environmental data managementsystems and multimedia databases.

The overall procedure for enabling interaction of devices within thecontext of a virtual workspace displayable for corresponding to arepresentation of physical phenomena is presented with respect to theprocess 200 of FIG. 2A. Some of the capabilities and applicationsresulting from the establishment of this virtual workspace are thenfurther explored in FIGS. 2B-2D, as well as the subsequent figures. Itwill be recognized that establishment of a connection betweencomplimentary devices may include means for accounting for permissions,settings and various other connection requirements.

FIG. 2A is a flowchart depicting the process 200 for enablingequipment/device users to interact with one another within the contextof a collaborative, virtual networking environment, according to oneembodiment. In one embodiment, the virtual workspace manager 115performs the process 200 and is implemented in, for instance, a chip setincluding a processor and a memory as shown in FIG. 8. In addition oralternatively, all or a portion of the process 200 may be performed bythe shared services platform 103. As a first step 201, the devices211-217 are placed in a manner as presented in FIG. 2B, or within closeproximity to one another in some form or fashion, thus causing eachdevice 211-217 to detect location information associated with theplurality of devices 211-217. Alternatively, the connection is performedvia a proxy service or interface operable over the communication network105 (e.g., the internet) for facilitating the connection between distantor remotely located devices. Having detected the plurality of devices211-217, a communication session is established between some or all ofthe devices 211-217, thus initially defining or establishing the virtualworkspace that will be rendered ultimately to the individual user device211-217. This corresponds to step 203, wherein the initial virtualworkspace is bound by the original spatial/physical distances betweendevices upon establishment of the connection (Example: adjacent distance(side-by-side) 221, parallel distance (face-to-face) 219 of FIG. 2B).

As a next step 205, any further movement of the one or more devices211-217 subsequently is monitored by the interacting devices 211-217.The movement of devices 211-217 subsequent to the establishment of theinitial virtual workspace is depicted in FIG. 2C. Specifically, the userof device 211 physically moves a distance from an approximate startingpoint O in a direction A to a location proximate to point 1. Device 213moves a distance from the starting point in a direction B to a locationproximate to point 2. Device 217 moves a distance from the startingpoint in a direction C to a location proximate to point 3. Finally,device 215 moves a distance in a direction D to a location proximate topoint 4. Establishment of the final parameters of the workspace isperformed automatically by the virtual workspace manager 115 inconjunction with a specified threshold (e.g., a default or maximumextent of the virtual workspace), or manually by a given device user.Having established the new locations and thus redefined the physicalarea comprising the workspace, the boundaries defining the virtual workspace are also manipulated/adjusted accordingly. For this example, theresult is a larger virtual workspace for complimentary devices 211-217to be shown to interact within. The spatial distances 231, 233, 237 and235 corresponding to the distance between points 1 and 2, 1 and 4, 2 and3 and 3 and 4 respectively, characterize the parameters, boundaries orextent of the virtual workspace to be rendered to the display, such asin accordance with a proportional relationship (Example: X sq ft=Ypixels per sq inch resolution).

Given the proportional relationship between the physicaldistance/location information and the virtual representation thereof,the closer the devices remain to the point of initial connection, thelesser the extent of the virtual workspace available for display.Conversely, the further the devices are moved from the point of initialconnection, but within the range of connectivity, the greater the extentof the virtual workspace available for display. The maximum size of thevirtual workspace as presented to the user can be fixed (e.g. apredetermined area), defined on the basis of the furthestspatial/physical distance between devices, or can change dynamicallybased on continuous movements and hence changes in proximity. Hence, theability to represent the virtual workspace to a device and the locationof the virtual objects within it is based on current movement, position,proximity and orientation of devices relative to one another. Further,the scale of the displayed information (e.g. virtual objects) to adisplay can depend on the proximity of the devices.

In accordance with the exemplary embodiment of FIG. 2D, the virtualworkspace 241 as created to correspond to and represent the real-worldphysical interaction of complimentary devices 211-217 in FIG. 2C isrendered to the display interface 245 of each device 211-217. In theexemplary embodiment, the virtual workspace 241 as generated on userdevice 211 is shown. In one embodiment, the virtual workspace can begenerated by the augmented reality application 113 operating upon eachdevice 211-217, perhaps based in part as well on services data 109provided by the shared services platform 103, where the continuousmovement of current devices 211-217 is shown as an overlay atop an areadesignating the virtual workspace. It is also contemplated, therefore,that a map, terrain depictions and other visual indicators could beshown to further represent current real-world conditions. Virtualrepresentations of devices 211-217 are therefore shown positioned,located or oriented within the workspace 241 in a manner consistent withcurrent real-time conditions. Still further, an optional virtual storagedevice 255—a dedicated data store defined for use by the complimentarydevices 211-217 is shown.

A benefit afforded by depicting physical events between respectivedevices in a virtual display 241 is expansion of a user's overallworkspace and work capacity. For example, there are various factors thatcontribute to an enhanced collaborative environment for the user as aresult of enhanced operating freedom. These include expanded numbers ofdevices to engage in shared interaction with, the ability for thedefined boundaries of the workspace to be expanded through repositioningof collaborating devices, increase in the number of shared applicationsavailable for respective devices to interact with, increase in thenumber of data sources available for sharing amongst respective devices,etc. All of these factors, whether taken singularly or in combination,result in an experience beyond what the user can expect with aconventional display capability.

As further movement of user devices occurs within the virtual workspace241, the user display 245 is updated to represent the change inlocation, position or orientation. The display can be updated inaccordance with a periodic refresh rate or triggered by any perceivedmovement. One or more action buttons 281-285 may also be rendered to thedisplay for enabling the execution of various actions and applicationsto be performed amongst the devices 211-217 within the context of theestablished workspace 241 connections. In addition or alternatively, thevarious actions and applications may be executed by a physical movementone or more of the devices 211-217 (e.g., rotation, stacking, etc.). Byway of example, the actions and applications may include file transfer257, such as presented visually to the display 245 as occurring betweendevices 211 and 215, music file sharing as occurring between devices 215and 217, providing for social control (e.g., common and/or coordinatedcontrol) of a function or action among one or more of the devices211-217, or a range of other applications. FIGS. 3A-5G (as describedbelow) present various applications that can be performed bycomplimentary devices 211-217 within the context of their interactionwith a virtual workspace 241. In particular, the range of examplecapabilities presented herein fall into the general categories of mediaprocessing, image processing and data sharing and networking. It will bereadily understood through consideration of these categories, however,that numerous other applications not expressly mentioned herein arewithin the scope of the examples disclosed. The following paragraphs arepresented by way of example only.

In one embodiment, when a collaborative, virtual network is establishedbetween complimentary devices, one application or service they canperform includes media processing. “Media processing” pertains to themeans in which devices exchange, execute, edit or otherwise manipulatemedia items such as music, video, audio and other content within thecontext of an established virtual workspace. FIG. 3A depicts a mediaprocessing interaction between a first and second user device, accordingto one embodiment. In accordance with the example, the first device 301,has access to one or more video files 305 and 307, and the user desiresto perform media processing with a second device user operating withinthe virtual workspace, device 309. The second device 309 has access toone or more audio files 313-317.

To begin the interaction, one of the device users, say the first 301,selects a particular video file 307 for appearance within the virtualworkspace. The user can control the length, duration or extent ofpreview, playback or execution of the media 307 by simply dragging thedevice on a flat surface, in this example corresponding to a length anddistance of movement represented by arrow 319. Hence, the length,duration or extent of the video corresponds directly to the amount ofmovement performed and hence detected by a given device. Furthermore,the direction of movement determines whether the media item isdisplayed, executed or previewed within the virtual workspace goingforward or backward in time, corresponding to rightward or leftwardmotion. For the example in question, the movement 319 of the device isrightward, resulting in a preview represented as forward in time.

For the second device 309, audio file 317 is selected for appearancewithin the virtual workspace. The user can control the length, durationor extent of preview, playback or execution of the audio 307 by draggingthe device on a flat surface, in this example corresponding to a lengthand distance of movement represented by arrow 321. Again, the duration,extent or length corresponds directly to the extent of movement of thedevice, where audio file 317 a is shown to the virtual workspace ingreater duration than that of the video file 307.

Now that the audio 317 a and video 307 a are displayed within thevirtual workspace, and therefore viewable to all complimentary devicesoperating with that workspace, they can be oriented to appear on top ofone another. So, for example, the user of device 301 merge the videofile 307 with the audio file 317 a, such as through drag and drop viathe device touch screen displays 303 and/or 311. As a result, theselected duration of video data 307 a will feature a duration of audiocontent 317 a upon playback, the duration of which corresponds to thatrepresented as audio/video segmentation 323. The users can continue tomanipulate the data further, such as by shifting the video 307 aleftward or rightward to modify the point of overlay. The tracks 307 aand 317 a remain displayed within the physical workspace even after thedevices are lifted from the surface.

In addition to video and audio, other track types may include but is notlimited to, text (titles), still images, transition effects between twovideo clips, the track type may also be a segment broadcasted on TV orlive video from the Internet. As such, the user can define the durationand media source, but cannot define the actual shown content as that isdetermined by the broadcaster. As yet another consideration, the surfaceor the direction of movement 319/321 of a given media item can beperformed circularly, resulting in the video or audio tray being playedin a loop feedback mode (e.g., video roulette). In this case, the circleis divided into sectors where the clips and other elements are arranged.

As another means of media processing of the audio 317 a and video 307 afiles, the combined, single new media clip can be created by stackingdevices 301 and 309 on top of each other. In this example, the lowerdevice 309 contains the audio clip 317 a, while the upper device 301contains the video clip 307 a. The combined media is laid out in thevirtual workspace by dragging the two stacked devices through the flatsurface, each movement being shown to corresponding display of eachdevice within the virtual workspace representation in real-time. Theorder of the stacked devices (from bottom to top) defines the order inwhich the media clips shown on those devices is overlaid (e.g. the clipin the bottom devices is placed in the lowest layer in the combinedclip).

As the virtual workspace is large, different users having complimentarydevices operating with the workspace can work at the same time withtheir devices with different parts of the presentation (e.g. threepersons can work simultaneously on the beginning, middle, and end of thevideo presentation 307 a). All the while, the users will have theability to toggle their respective display between a view of the overallworkspace (scaled accordingly to depict the interaction of all users asin FIG. 2D), a more limited view depicting the object they are workingon within the workspace, or a simultaneous view (e.g., in frame view).

The media clips may be stored locally on the devices, or they may bestreamed from a remote server to which a device in the editing setup hasaccess rights. The mode of collaboration is determined by the users inaccordance with the chosen application they are sharing. Whileapplication types may vary, the ability of the users to collaborate insuch an interactive, seamless manner promotes an effective overall userexperience. It is contemplated, also, that device users having access toapplications that are not provided by the other user's respective sharedservices platform, can share their applications with the other userwithin the virtual workspace.

As yet another example implementation of media processing, one or moredevice users within the shared workspace can splice a video clip asextended across the virtual workspace. FIG. 3B depicts a limited view ofthe workspace 333 as rendered to a user's device display 303, featuringthe video clip 331 upon which they wish to operate. In addition, theworkspace shows a depiction of their device 301 a, positioned at acertain point in duration of the video clip. As the user moves theirdevice 301 left or right along a surface, the depiction of their device301 a within the workspace 333 also adjusts accordingly. The user cansplice the video clip at the point in which their device 301 a ispositioned by swiping the device through the representation of the clip331 within the virtual workspace 333. When device is in “portrait”position, it acts as a cutter. Alternatively, when the device is in“landscape” position it lays out video clips and other content to thevirtual workspace.

While not shown, yet another media processing implementation can involvesound production amongst devices within the workspace. For example, ineach device, the display can be divided into particular areas. Differentfeatures are assigned to each area, for example, pads triggering drumsounds. The size and location of the virtual pads can be defined by theuser. In particular, the functions assigned to virtual pads that overlapwhen the devices are stacked are combined when triggered with thetopmost device. The sounds are triggered by tapping on the virtual padson the screen of the topmost device. Changing the order of the deviceschanges the resulting sound triggered by tapping on the screen of thetopmost device. One of the stacked devices may provide background music,on top of which the triggering of the sounds is made to mimic a karaokeformat, similar to video games like Guitar Hero® and RockBand®. Thesounds that are triggered can be downloaded as service data or berecorded on the spot as sound data resident on the device, prior to use.

In FIG. 3C, another example of media processing capability is depicted.In this case, multiple user devices 351, 351 a and 351 b having the sametime based media (e.g., video) are shown. The same time-based mediacontent (e.g. video) is shown on the different devices 351, 351 a and351 b such that there is a constant delay between the clips shown ineach device. The distance between respective devices is measured, withthe distance from device 351 to 351 a represented as distance 361 andthe distance from 351 to 351 b represented as distance 363. In thisexample, device 351 is the point of focus (T=0), while the device rightof it shows the video ahead by T+40 seconds and the device to the leftlags behind T−2 seconds. The benefit of this arrangement is, forexample, that the user can watch a section of the same video on anotherdevice which they may have missed seeing on the middle device. Users canadjust the delay time by simply adjusting the distance between thedevices. Users define the mapping between the delay time and thedistance of the devices within the context of the workspace. Within thismapping, which is simply based on the chosen interaction and connectionof devices within the virtual workspace, the participating users decidewhich device is the point of focus (e.g., which device represents theT=0 media segment). This is convenient especially in setups with 2, 3,or 5 devices. It is contemplated that this inventive arrangement allowsinstant repeat viewing of an event that just elapsed—i.e., in a TVbroadcast—on another device display.

In yet another optional embodiment, eye tracking technology can beemployed to detect which screen amongst the plurality of devices 351,351 a and 351 b is being watched currently by the user. By way ofexample, each of the devices 351, 351 a and 351 b may be equipped withfront-facing cameras to implement an unintrusive form of eye-trackingMore specifically, the front-facing camera can be used to capture imagesof the user. The images can then be analyzed to derive a direction,angle, etc. of the eyes of the user as a means for eye-tracking. It iscontemplated that any other means of eye-tracking may be used in theapproach described herein. Once a focal point is determined, devicesaround the focal device delay or advance the video accordingly. Stillfurther, in instances where a single device 351 carrying the media file,direct leftward 359 or forward movement 357 a distance 361 or 363respectively, the media file is advanced or rewound accordingly.

It will be appreciated that the above described examples can be usefulfor performing numerous types of media processing, including but notlimited to, creating collaborative annotations of videos, performingmulti-view video editing (e.g. assembling a single clip of an event likeconcert or football match captured with several devices), developingkaraoke media (lyrics originate from one device, video from anotherdevice).

In another embodiment, when a collaborative, virtual network isestablished between complimentary devices, another application orservice they can perform includes image processing. “Image processing”pertains to the means in which devices exchange, execute, edit orotherwise manipulate image data including pictures, graphics, imagebased documents (e.g., PDFs) and other content within the context of anestablished virtual workspace. FIGS. 4A and 4B depict an exemplaryprocess for performing image processing.

In this example, devices 401, 403 and 405 are stacked upon one anotherfor the purpose of generating a collage. Device 401 has access to thedesired background image 411, while device 403 has access to theforeground image 413. In this example, the background image is aportrait and the foreground image is a frame that includes a masked area(e.g., a blue/green screen) in which the background image can showthrough. Objectively, the resulting overlay of these images 415 a is tobe rendered to currently blank screen 415 of device 405. The basicprinciple is to stack devices on top of each other as shown in FIG. 4 a,in a manner that enables the images to be stitched together, such as bya collage generations application available for use by devices withinthe virtual workspace. The areas to be included from each image in theresulting collage can be drawn on touch screen of the device displayingthat image.

In keeping with the example, device 401 possessing the background image411 is placed on the bottom. It is then mated (e.g., detected by CPS 115and aligned appropriately within the context of the overall workspace)with the second device 403. The third user device in the stack 405renders to its interface a depiction of the final collage view 415 a.Hence, the order of the separate images appearing in the collage isdetermined by the order in which the devices are stacked. The image onthe lowest device in the stack becomes the lowest layer in the collage.

An alternative implementation is to create the collage by manipulatingthe spatial relationship between devices rather than stacking them atopone another. As such, the collage photo is created through defining thedistance between the separate elements as shown on different devices,perhaps positioned in a standing mode or alternatively a side-by-sideorientation. Manipulation of the distance between devices creates depth(blur) to an image. Cropping of image elements can be performed bymoving the device as well. So, for example, in the composite image 415 aresulting from the combination of images 411 and 413, the original sizeof 413 is modified. This modification occurs as a result of adjustingthe distance between devices 401 and 403, such that image 413 iseventually depth reduced to appear as image 413 a.

It will be appreciated that the above described examples can be usefulfor performing numerous types of image processing, including but notlimited to, creating collaborative annotations of images, generatingscrapbooks, performing simultaneous picture enhancement, photo editing,etc.

In another embodiment, when a collaborative, virtual network isestablished between complimentary devices, another application orservice they can perform includes data sharing and networking. “Datasharing and networking” pertains to the means in which device usersexchange, edit or modify data they have access to for the benefit ofthemselves and others within a collaborative, virtual workspaceenvironment. A general depiction of the process is presented in theflowchart of FIG. 5A, and depicted further in FIGS. 5B-5H.

FIG. 5A is a flowchart of a process for sharing data over a virtualworkspace environment, according to one embodiment. In one embodiment,the virtual workspace manager 115 performs the process 200 and isimplemented in, for instance, a chip set including a processor and amemory as shown in FIG. 8. In addition or alternatively, all or aportion of the process 200 may be performed by the shared servicesplatform 103. The process 500 of FIG. 5A is described with respect tothe diagrams of FIGS. 5B-5H. As shown in FIG. 5B, three devices 521b-525 b belonging to different users are shown displaying a selectedgroup or portion of their social contacts in their respective displays521 a, 523 a and 525 a. This corresponds to step 501 of the process 500of FIG. 5A. Returning to FIG. 5B, for the first device 521 b, the userdisplay 521 a presents a visual depiction of their network showingthemselves in the center as Keenan 521. Extending outward by way ofarrows (relational indicators) are affiliated contacts 527 a and 527 c,who at the moment are not users operating within the virtual workspaceas established via the connection 528 between all three devices 521b-525 b. Users Naiomi 523 and Sam 525, who are currently operatingwithin the virtual workspace by way of devices 523 b and 525 brespectively, are indicated to user 521 as such (e.g., highlighted insome fashion). In this example, all of the contacts are presented insimilar fashion with the exception of the user in question 521, whoseorientation is to the center of the network and whose graphicalrepresentation is different than all other users.

A depiction of the various social networking relationships between usersis shown for users 523 and 525 as well. In the case of the user Naiomi523, in addition to sharing a relationship with Keenan 521, her contactsinclude users 529 a, 529 c and 529 d. Sam's 525 also shares arelationship with Keenan 521, as well as relationships with users 511 a,511 c and 511 d. Again, the user in question is depicted in this exampleas centered within the network, having a differing graphicalrepresentation, with relational indicators (e.g., arrows, connectors)extending outward to reveal other relationships. Within the context ofthe collaborative networking environment, a “contact” to which a usermay connect refers to any data generally providing a profile,background/bio, address, phone number, threaded message or any otheruseful information pertaining to a particular person or entity ofinterest. Associated with a particular contact may also be content suchas documents, images, applications and the like. Each user can accessand select their contacts from one or more shared services platforms,e.g., Facebook or MySpace. Alternatively, the users can select from alocally residing contact management application, such as ACT or Outlook.Combinations of various sources may also be selected.

Given the common relationships between users 521, 523 and 525 operatingwithin the workspace, the shared services platform in combination withthe virtual workspace manager 115 for a given device can perform a checkcan to identify the common contacts from amongst the selected socialnetworks. This corresponds to step 503 of the process 500 of FIG. 5A. Asa final step 505 of the process 500, a combined representation of thesocial network based on the selected contacts of each user is presentedto each display 521 a, 523 a and 525 a. FIG. 5C depicts a representationof the combined social network from the perspective of user device 521 bbelonging to Keenan 521. In this example, the contacts associated withSam's 525 social network as well as Naiomi's 523 are shown incombination with Keenan's 521. Resulting from the combining of data andthe identification of common contacts amongst users (steps 503 and 505),an arrow/connector 531 is added to the combined network to reflect theknown common relationship between Keenan 521, Naiomi and user 527 c. Useof the connector prevents duplication of the representation of user 527c (which is common to both other users).

The result presented in this example is a visual depiction for Keenan521 of the mutual connections between respective contacts within thenetwork. In instances where the combined social network is tooextensive, different parts of the network can be shown by moving thedevices in an augmented reality view. Also, the visualization of thecombined social network for users Naiomi 523 and Sam 525 will beessentially identical to that shown in FIG. 5C. The only modificationwill be the positioning of the user in question within the center of thesocial network and the adapted image intended to distinguish said userfrom all other contacts. In addition to featuring the combinedrepresentation, each device may also show the user's individual socialnetwork in a split-screen mode. Still further, the devices may presentdifferent visualizations (including zoom levels) to the social networks.Having been generated in combined form, the resulting social networkdata (e.g., contacts) can also be stored to a contact management systemoperable by the device.

As yet another example implementation of data sharing and networking,the combined social network can identify and propose the addition ofcommon users to a given user's network, as depicted in FIG. 5D. In thisexample, the shared services platform 103 enabling sharing and combiningof network data identifies users Keenan 521 and Naiomi 523 both haveuser 527 c in common within their network. It further identifies,however, that Sam 525 does not. Based on these relationships, thevirtual workspace manager 111 can propose the user 527 c be added to thesocial network of Sam 525, given the mutual affiliations inherent withother contacts. If Sam 525 accepts the proposal, user 527 c becomes partof his social network and a connector/arrow 551 is shown to designatethe mutual connection. This connection will remain even after thecombined social network has been split by the un-stacking, removal, outor range movement, logging off, or any other means of ending the devicesrelationship with the virtual workspace. Thus, the combined network is atool for identifying potentially interesting contacts that one's friendsalready have.

As yet another implementation of data sharing and networking, thecombined social network can specify the types of social ties between theusers and render this detail for display to the interface. For example,if users Keenan 521 and 527 c are golf pals, as indicated within thecontact details profile, this detail 555 is displayed. Similarly, ifNaiomi 523 and user 527 c are cousins, this detail 553 is rendered tothe display. As such, Keenan 521 can decide if he wants to revise thesocial tie as current indicated between him and user 527 c based on theintelligence revealing that Naiomi 523 and user 527 c are cousins.Perhaps, under the circumstances of this example, Keenan 521 can decidethat user 527 c is now considered a closer friend than just a golf paland can update the profile of said user accordingly.

As yet another implementation of data sharing and networking, thecombined social network can identify opportunities for common benefitsto be shared or offered to users as shown in FIG. 5E. For example, user527 c sells sporting goods and golf equipment via his store Big GiantGolfer (www.biggiantgolfer.com). Because Keenan 521 and user 527 c aregolf pals, user 527 c will give a 10% discount to Keenan on any goodspurchased at his store. User 527 c and Naiomi 523 are cousins, and thususer 527 c gives Naiomi 523 a 20% discount on merchandise. When theseparate social networks are combined, however, common acquaintances canbe identified by all users 521-525. All users are now made aware throughinteraction within the virtual workspace and during a shared servicessession that they can together buy computer equipment from User B at a20% discount. The system identifies and presents this opportunity to allthe interacting users as a callout notification message 557 or the like.

As yet another implementation of data sharing and networking, thecombined social network can be used to identify contacts within a sharedsocial network. For example, FIG. 5F presents an exemplary scenariowherein Naiomi 523 is looking for a good lawyer. Naiomi 523 can performa search using the keyword ‘lawyers’ by way of a social network searchengine 557 (the search is initially directed to the present combinedsocial network). In this example, the search reveals that Sam 525 has alawyer in his network of contacts. Naiomi can now ask Sam 525 for arecommendation about the lawyer, in this case user 511 c, identified asChi. Still further, a chat application can then be initiated by thesystem 100 on top of the social network visualization, with Naiomi 523,Sam 525 and recently engaged user Chi 511 c participating.

In yet another implementation of data sharing and networking, thecombined social network can be used to group contacts on the basis ofhierarchical or social distance level. Within the context of a socialnetworking environment, “social distance or hierarchical level” refersto the grouping of contacts on the basis of whether they are directly orindirectly related to or connected with a given user. For example, FIG.5G presents an exemplary scenario wherein Keenan 521, Naiomi 523 and Sam525 are all direct to one another and thus are friends belonging to thesame level. Friends-of-friends, however, as indicated via the dashedrectangular sections belong to another level. Still further, these nextlevel contacts belong to yet another level, as indicated via the dashedoval section of the FIG. 5G. A novel aspect is that when the socialnetworks of two or more people are combined, the different levels ofpeople in the combined social network can be shown in groups ondifferent on the same display, categorized by level, or on differentdisplays of respective complimentary devices (e.g., Keenan, Naiomi andSam's devices 521 b, 523 b and 525 b respectively). The latter ispresented with respect to FIG. 5H, which depicts the exemplary interfacewith the various contacts represented by social level.

Same level contacts are shown in the category entitled “We” 559 andinclude contacts Keenan 521, Naiomi 523 and Sam 525. First levelcontacts, namely friends, are shown in the category entitled “1 ^(st)Level” 561 and include contacts corresponding to users 529 a, 527 a, 511a, 511 d, 511 c, 527 c and 529 d. These are all of the contacts groupedwithin the dashed rectangular sections of FIG. 5G. Second levelcontacts, namely friends-of-friends, are shown in the category entitled“2^(nd) Level” 563 and include contacts corresponding to users 529 b and511 b.

Alternatively, rather that the consolidated view shown in the FIG. 5H,the various categories or levels of contacts can be shown on thedifferent displays of user devices 521 b, 523 b and 525 b, where adifferent level is presented to each interface. For example, Keenan,Naiomi and Sam's devices 521 b, 523 b and 525 b respectively can present“We” 559, “1^(st) Level” 561 and “2^(nd) Level” 563 respectively.Regardless of implementation, different information searches ormanipulations to the different groups of people can then be performedthrough each device as they interact within the shared virtualworkspace. It is contemplated that this same approach can be readilyutilized in the context of a shared services platform forgenealogy/family tree creation, an organizational chart generationservice, a multi-level marketing tool or any other application where thedynamic relationships amongst shared contacts can be leveraged within acollaborative network environment. Taking for example the concept ofgenealogy, several cell-phone enabled family members meeting together ata family reunion, whether they are socially close or disparate, couldformulate a virtual workspace, access the shared services platformthrough which the genealogy application is shared and then interactivelyand easily generate or update the family tree (the more family membershaving a network accessible mobile device, the merrier).

In the examples presented above respective to applications for datasharing and networking, the various exemplary implementations can beinitiated by stacking the devices on top of each other. Thus all theusers' social networks may be combined. An alternative method is toallow users to select which parts of their social networks (either fromall used services, or only from selected individual services likeFacebook®, LinkedIn®, Plaxo®) they want to combine by placing differentparts of the social networks to different parts of the device screen(e.g., Friends Group to upper right corner, Colleagues Group to lowerleft corner). When the devices are stacked fully or partially on top ofeach other, different parts (groups) of the users' social networks arecombined and visualized to the adjoining user devices display and viceversa. This is similar in approach to the image processing considerationpresented in FIGS. 4A and 4B (collage creation) but with differentcontent and intent.

When the devices are placed on top of each other, two or more devicescan determine (e.g., through Bluetooth LE and the necessary extensions)each others' precise locations and how the screens of the devicesoverlap, as discussed with respect to the connectivity and positionssensor application of FIG. 2B. This information can be used in oneembodiment of the invention so, that only the parts of the socialnetworks appearing on the screens that physically overlap, are combined.As the devices are moved, different combinations of partial socialnetworks are shown.

In one embodiment, another application or service that can be supportedby a virtual workspace relates to providing for “social control” of acommon function. More specifically, social control enables one or moredevices participating in a virtual workspace to create a virtual“controller.” For example, when the devices are co-located or otherorganized into a virtual workspace or network, the users of the devicescan specify and agree on what specific function is to be performed orcontrolled by the devices via the virtual controller. For example, theusers may reach an agreement on a function such as regulating the volumeof music in the location by controlling a speaker at a particularlocation, or controlling the color or brightness of lights at a commonlocation via the controller. It is contemplated that the virtualcontroller may be used to control any function accessible over thecommunication network 105.

In one embodiment, the devices may be stacked on top of each other todefine a virtual workspace including the virtual controller. Theconnection between the devices, and thus the social controlfunctionality, can remain active even when the devices are no longerstacked. Thus, stacking can be just used to initialize the socialcontrol functionality between the devices and whatever properties orfunctions that can be controlled. For example, the parameter or functionto be controlled can be agreed upon between devices by stacking thedevices momentarily or in other ways having the devices touch or comewithin proximity of each other.

In another embodiment, the devices need not be stacked physically on topof each other to initialize the social control functionality. Forexample, if the devices are already part of a virtual workspace, eachuser of the participating devices may indicate an intent to create avirtual controller by a movement of the respective device or a gestureon the device with respect to the virtual workspace. The user mayindicate the intent, for instance, by a flicking motion such as a motionto simulate throwing one or more playing cards onto a playing table. Theflicking motion can represent a virtual stacking of the devices. Thevirtually stacked devices then form a group for social control. In oneembodiment, the virtually stacked devices can be seen through thevirtual workspace (e.g., through an augmented reality view).

In certain embodiments, the devices need not specify the commonparameter or function explicitly. Instead, the common function to becontrolled may be defined on the basis of the context of the devices orthe corresponding users. For example, if the users are on a conferencecall, stacking the devices may enable controlling of the volume of theconference call.

In another embodiment, each device that is part of the social controlgroup may control both a common function and respective equivalentfunctions associated with the individual devices. For example, whencontrolling the volume of a common speaker, speakers associated witheach device may also be controlled in tandem with the common speaker.

FIG. 6 is a diagram of user equipment interacting to form a socialcontrol group, according to one embodiment. In the example of FIG. 6,devices 601, 603, and 605 are stacked by users sitting around a table ina bar. The users have an opportunity to control the color of the light607 that is located above the table. The stacking of the devices 601-603initializes the social control functionality to provide a virtualcontroller to specify the color of the light 607. Through the screen ofthe topmost device 605, the users select that they want to control thecolor of the light 607. The users control the color by, for instance,rotating the stacked devices clockwise or counterclockwise. For example,the users rotate the stack so that the color of the light 607 is blue.

In addition, each of the devices 601-603 has connectivity to the lights609-613 located in, for instance, the respective users' homes. The usersagree that they want to share the blue light to their respective homesby making a movement, making a gesture, activating a button, or thelike, or any combination thereof. Accordingly, each of the devices601-605 signals their respective home lights 609-613 to display the bluecolor.

The processes described herein for enabling collaborative tasks to beperformed more efficiently by mobile device users by enhancing theworkspace in which they interact may be advantageously implemented viasoftware, hardware, firmware or a combination of software and/orfirmware and/or hardware. For example, the processes described herein,including for providing user interface navigation information associatedwith the availability of services, may be advantageously implemented viaprocessor(s), Digital Signal Processing (DSP) chip, an ApplicationSpecific Integrated Circuit (ASIC), Field Programmable Gate Arrays(FPGAs), etc. Such exemplary hardware for performing the describedfunctions is detailed below.

FIG. 7 illustrates a computer system 700 upon which an embodiment of theinvention may be implemented. Although computer system 700 is depictedwith respect to a particular device or equipment, it is contemplatedthat other devices or equipment (e.g., network elements, servers, etc.)within FIG. 7 can deploy the illustrated hardware and components ofsystem 700. Computer system 700 is programmed (e.g., via computerprogram code or instructions) to provide seeded modeling of userinterests as described herein and includes a communication mechanismsuch as a bus 710 for passing information between other internal andexternal components of the computer system 700. Information (also calleddata) is represented as a physical expression of a measurablephenomenon, typically electric voltages, but including, in otherembodiments, such phenomena as magnetic, electromagnetic, pressure,chemical, biological, molecular, atomic, sub-atomic and quantuminteractions. For example, north and south magnetic fields, or a zeroand non-zero electric voltage, represent two states (0, 1) of a binarydigit (bit). Other phenomena can represent digits of a higher base. Asuperposition of multiple simultaneous quantum states before measurementrepresents a quantum bit (qubit). A sequence of one or more digitsconstitutes digital data that is used to represent a number or code fora character. In some embodiments, information called analog data isrepresented by a near continuum of measurable values within a particularrange. Computer system 700, or a portion thereof, constitutes a meansfor performing one or more steps of providing seeded modeling of userinterests.

A bus 710 includes one or more parallel conductors of information sothat information is transferred quickly among devices coupled to the bus710. One or more processors 702 for processing information are coupledwith the bus 710.

A processor (or multiple processors) 702 performs a set of operations oninformation as specified by computer program code related to provideseeded modeling of user interests. The computer program code is a set ofinstructions or statements providing instructions for the operation ofthe processor and/or the computer system to perform specified functions.The code, for example, may be written in a computer programming languagethat is compiled into a native instruction set of the processor. Thecode may also be written directly using the native instruction set(e.g., machine language). The set of operations include bringinginformation in from the bus 710 and placing information on the bus 710.The set of operations also typically include comparing two or more unitsof information, shifting positions of units of information, andcombining two or more units of information, such as by addition ormultiplication or logical operations like OR, exclusive OR (XOR), andAND. Each operation of the set of operations that can be performed bythe processor is represented to the processor by information calledinstructions, such as an operation code of one or more digits. Asequence of operations to be executed by the processor 702, such as asequence of operation codes, constitute processor instructions, alsocalled computer system instructions or, simply, computer instructions.Processors may be implemented as mechanical, electrical, magnetic,optical, chemical or quantum components, among others, alone or incombination.

Computer system 700 also includes a memory 704 coupled to bus 710. Thememory 704, such as a random access memory (RAM) or other dynamicstorage device, stores information including processor instructions forproviding seeded modeling of user interests. Dynamic memory allowsinformation stored therein to be changed by the computer system 700. RAMallows a unit of information stored at a location called a memoryaddress to be stored and retrieved independently of information atneighboring addresses. The memory 704 is also used by the processor 702to store temporary values during execution of processor instructions.The computer system 700 also includes a read only memory (ROM) 706 orother static storage device coupled to the bus 710 for storing staticinformation, including instructions, that is not changed by the computersystem 700. Some memory is composed of volatile storage that loses theinformation stored thereon when power is lost. Also coupled to bus 710is a non-volatile (persistent) storage device 708, such as a magneticdisk, optical disk or flash card, for storing information, includinginstructions, that persists even when the computer system 700 is turnedoff or otherwise loses power.

Information, including instructions for providing seeded modeling ofuser interests, is provided to the bus 710 for use by the processor froman external input device 712, such as a keyboard containing alphanumerickeys operated by a human user, or a sensor. A sensor detects conditionsin its vicinity and transforms those detections into physical expressioncompatible with the measurable phenomenon used to represent informationin computer system 700. Other external devices coupled to bus 710, usedprimarily for interacting with humans, include a display device 714,such as a cathode ray tube (CRT) or a liquid crystal display (LCD), orplasma screen or printer for presenting text or images, and a pointingdevice 716, such as a mouse or a trackball or cursor direction keys, ormotion sensor, for controlling a position of a small cursor imagepresented on the display 714 and issuing commands associated withgraphical elements presented on the display 714. In some embodiments,for example, in embodiments in which the computer system 700 performsall functions automatically without human input, one or more of externalinput device 712, display device 714 and pointing device 716 is omitted.

In the illustrated embodiment, special purpose hardware, such as anapplication specific integrated circuit (ASIC) 720, is coupled to bus710. The special purpose hardware is configured to perform operationsnot performed by processor 702 quickly enough for special purposes.Examples of application specific ICs include graphics accelerator cardsfor generating images for display 714, cryptographic boards forencrypting and decrypting messages sent over a network, speechrecognition, and interfaces to special external devices, such as roboticarms and medical scanning equipment that repeatedly perform some complexsequence of operations that are more efficiently implemented inhardware.

Computer system 700 also includes one or more instances of acommunications interface 770 coupled to bus 710. Communication interface770 provides a one-way or two-way communication coupling to a variety ofexternal devices that operate with their own processors, such asprinters, scanners and external disks. In general the coupling is with anetwork link 778 that is connected to a local network 780 to which avariety of external devices with their own processors are connected. Forexample, communication interface 770 may be a parallel port or a serialport or a universal serial bus (USB) port on a personal computer. Insome embodiments, communications interface 770 is an integrated servicesdigital network (ISDN) card or a digital subscriber line (DSL) card or atelephone modem that provides an information communication connection toa corresponding type of telephone line. In some embodiments, acommunication interface 770 is a cable modem that converts signals onbus 710 into signals for a communication connection over a coaxial cableor into optical signals for a communication connection over a fiberoptic cable. As another example, communications interface 770 may be alocal area network (LAN) card to provide a data communication connectionto a compatible LAN, such as Ethernet. Wireless links may also beimplemented. For wireless links, the communications interface 770 sendsor receives or both sends and receives electrical, acoustic orelectromagnetic signals, including infrared and optical signals thatcarry information streams, such as digital data. For example, inwireless handheld devices, such as mobile telephones like cell phones,the communications interface 770 includes a radio band electromagnetictransmitter and receiver called a radio transceiver. In certainembodiments, the communications interface 770 enables connection to thecommunication network 223 for providing seeded modeling of userinterests to the UE.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing information to processor 702, includinginstructions for execution. Such a medium may take many forms,including, but not limited to computer-readable storage medium (e.g.,non-volatile media, volatile media), and transmission media.Non-transitory media, such as non-volatile media, include, for example,optical or magnetic disks, such as storage device 708. Volatile mediainclude, for example, dynamic memory 704. Transmission media include,for example, coaxial cables, copper wire, fiber optic cables, andcarrier waves that travel through space without wires or cables, such asacoustic waves and electromagnetic waves, including radio, optical andinfrared waves. Signals include man-made transient variations inamplitude, frequency, phase, polarization or other physical propertiestransmitted through the transmission media. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,CDRW, DVD, any other optical medium, punch cards, paper tape, opticalmark sheets, any other physical medium with patterns of holes or otheroptically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave, or any other mediumfrom which a computer can read. The term computer-readable storagemedium is used herein to refer to any computer-readable medium excepttransmission media.

Logic encoded in one or more tangible media includes one or both ofprocessor instructions on a computer-readable storage media and specialpurpose hardware, such as ASIC 720.

Network link 778 typically provides information communication usingtransmission media through one or more networks to other devices thatuse or process the information. For example, network link 778 mayprovide a connection through local network 780 to a host computer 782 orto equipment 784 operated by an Internet Service Provider (ISP). ISPequipment 784 in turn provides data communication services through thepublic, world-wide packet-switching communication network of networksnow commonly referred to as the Internet 790.

A computer called a server host 792 connected to the Internet hosts aprocess that provides a service in response to information received overthe Internet. For example, server host 792 hosts a process that providesinformation representing video data for presentation at display 714. Itis contemplated that the components of system 700 can be deployed invarious configurations within other computer systems, e.g., host 782 andserver 792.

At least some embodiments of the invention are related to the use ofcomputer system 700 for implementing some or all of the techniquesdescribed herein. According to one embodiment of the invention, thosetechniques are performed by computer system 700 in response to processor702 executing one or more sequences of one or more processorinstructions contained in memory 704. Such instructions, also calledcomputer instructions, software and program code, may be read intomemory 704 from another computer-readable medium such as storage device708 or network link 778. Execution of the sequences of instructionscontained in memory 704 causes processor 702 to perform one or more ofthe method steps described herein. In alternative embodiments, hardware,such as ASIC 720, may be used in place of or in combination withsoftware to implement the invention. Thus, embodiments of the inventionare not limited to any specific combination of hardware and software,unless otherwise explicitly stated herein.

The signals transmitted over network link 778 and other networks throughcommunications interface 770, carry information to and from computersystem 700. Computer system 700 can send and receive information,including program code, through the networks 780, 790 among others,through network link 778 and communications interface 770. In an exampleusing the Internet 790, a server host 792 transmits program code for aparticular application, requested by a message sent from computer 700,through Internet 790, ISP equipment 784, local network 780 andcommunications interface 770. The received code may be executed byprocessor 702 as it is received, or may be stored in memory 704 or instorage device 708 or other non-volatile storage for later execution, orboth. In this manner, computer system 700 may obtain application programcode in the form of signals on a carrier wave.

Various forms of computer readable media may be involved in carrying oneor more sequence of instructions or data or both to processor 702 forexecution. For example, instructions and data may initially be carriedon a magnetic disk of a remote computer such as host 782. The remotecomputer loads the instructions and data into its dynamic memory andsends the instructions and data over a telephone line using a modem. Amodem local to the computer system 700 receives the instructions anddata on a telephone line and uses an infra-red transmitter to convertthe instructions and data to a signal on an infra-red carrier waveserving as the network link 778. An infrared detector serving ascommunications interface 770 receives the instructions and data carriedin the infrared signal and places information representing theinstructions and data onto bus 710. Bus 710 carries the information tomemory 704 from which processor 702 retrieves and executes theinstructions using some of the data sent with the instructions. Theinstructions and data received in memory 704 may optionally be stored onstorage device 708, either before or after execution by the processor702.

FIG. 8 illustrates a chip set or chip 800 upon which an embodiment ofthe invention may be implemented. Chip set 800 is programmed to provideseeded modeling of user interests as described herein and includes, forinstance, the processor and memory components described with respect toFIG. 7 incorporated in one or more physical packages (e.g., chips). Byway of example, a physical package includes an arrangement of one ormore materials, components, and/or wires on a structural assembly (e.g.,a baseboard) to provide one or more characteristics such as physicalstrength, conservation of size, and/or limitation of electricalinteraction. It is contemplated that in certain embodiments the chip set800 can be implemented in a single chip. It is further contemplated thatin certain embodiments the chip set or chip 800 can be implemented as asingle “system on a chip.” It is further contemplated that in certainembodiments a separate ASIC would not be used, for example, and that allrelevant functions as disclosed herein would be performed by a processoror processors. Chip set or chip 800, or a portion thereof, constitutes ameans for performing one or more steps of providing user interfacenavigation information associated with the availability of services.Chip set or chip 800, or a portion thereof, constitutes a means forperforming one or more steps of providing seeded modeling of userinterests.

In one embodiment, the chip set or chip 800 includes a communicationmechanism such as a bus 801 for passing information among the componentsof the chip set 800. A processor 803 has connectivity to the bus 801 toexecute instructions and process information stored in, for example, amemory 805. The processor 803 may include one or more processing coreswith each core configured to perform independently. A multi-coreprocessor enables multiprocessing within a single physical package.Examples of a multi-core processor include two, four, eight, or greaternumbers of processing cores. Alternatively or in addition, the processor803 may include one or more microprocessors configured in tandem via thebus 801 to enable independent execution of instructions, pipelining, andmultithreading. The processor 803 may also be accompanied with one ormore specialized components to perform certain processing functions andtasks such as one or more digital signal processors (DSP) 807, or one ormore application-specific integrated circuits (ASIC) 809. A DSP 807typically is configured to process real-world signals (e.g., sound) inreal time independently of the processor 803. Similarly, an ASIC 809 canbe configured to performed specialized functions not easily performed bya more general purpose processor. Other specialized components to aid inperforming the inventive functions described herein may include one ormore field programmable gate arrays (FPGA) (not shown), one or morecontrollers (not shown), or one or more other special-purpose computerchips.

In one embodiment, the chip set or chip 800 includes merely one or moreprocessors and some software and/or firmware supporting and/or relatingto and/or for the one or more processors.

The processor 803 and accompanying components have connectivity to thememory 805 via the bus 801. The memory 805 includes both dynamic memory(e.g., RAM, magnetic disk, writable optical disk, etc.) and staticmemory (e.g., ROM, CD-ROM, etc.) for storing executable instructionsthat when executed perform the inventive steps described herein toprovide seeded modeling of user interests. The memory 805 also storesthe data associated with or generated by the execution of the inventivesteps.

FIG. 9 is a diagram of exemplary components of a mobile terminal (e.g.,handset) for communications, which is capable of operating communicationnetwork 223, according to one embodiment. In some embodiments, mobileterminal 900, or a portion thereof, constitutes a means for performingone or more steps of providing seeded modeling of user interests.Generally, a radio receiver is often defined in terms of front-end andback-end characteristics. The front-end of the receiver encompasses allof the Radio Frequency (RF) circuitry whereas the back-end encompassesall of the base-band processing circuitry. As used in this application,the term “circuitry” refers to both: (1) hardware-only implementations(such as implementations in only analog and/or digital circuitry), and(2) to combinations of circuitry and software (and/or firmware) (suchas, if applicable to the particular context, to a combination ofprocessor(s), including digital signal processor(s), software, andmemory(ies) that work together to cause an apparatus, such as a mobilephone or server, to perform various functions). This definition of“circuitry” applies to all uses of this term in this application,including in any claims. As a further example, as used in thisapplication and if applicable to the particular context, the term“circuitry” would also cover an implementation of merely a processor (ormultiple processors) and its (or their) accompanying software/orfirmware. The term “circuitry” would also cover if applicable to theparticular context, for example, a baseband integrated circuit orapplications processor integrated circuit in a mobile phone or a similarintegrated circuit in a cellular network device or other networkdevices.

Pertinent internal components of the telephone include a Main ControlUnit (MCU) 903, a Digital Signal Processor (DSP) 905, and areceiver/transmitter unit including a microphone gain control unit and aspeaker gain control unit. A main display unit 907 provides a display tothe user in support of various applications and mobile terminalfunctions that perform or support the steps of providing seeded modelingof user interests. The display 907 includes display circuitry configuredto display at least a portion of a user interface of the mobile terminal(e.g., mobile telephone). Additionally, the display 907 and displaycircuitry are configured to facilitate user control of at least somefunctions of the mobile terminal. An audio function circuitry 909includes a microphone 911 and microphone amplifier that amplifies thespeech signal output from the microphone 911. The amplified speechsignal output from the microphone 911 is fed to a coder/decoder (CODEC)913.

A radio section 915 amplifies power and converts frequency in order tocommunicate with a base station, which is included in a mobilecommunication system, via antenna 917. The power amplifier (PA) 919 andthe transmitter/modulation circuitry are operationally responsive to theMCU 903, with an output from the PA 919 coupled to the duplexer 921 orcirculator or antenna switch, as known in the art. The PA 919 alsocouples to a battery interface and power control unit 920.

In use, a user of mobile terminal 901 speaks into the microphone 911 andhis or her voice along with any detected background noise is convertedinto an analog voltage. The analog voltage is then converted into adigital signal through the Analog to Digital Converter (ADC) 923. Thecontrol unit 903 routes the digital signal into the DSP 905 forprocessing therein, such as speech encoding, channel encoding,encrypting, and interleaving. In one embodiment, the processed voicesignals are encoded, by units not separately shown, using a cellulartransmission protocol such as global evolution (EDGE), general packetradio service (GPRS), global system for mobile communications (GSM),Internet protocol multimedia subsystem (IMS), universal mobiletelecommunications system (UMTS), etc., as well as any other suitablewireless medium, e.g., microwave access (WiMAX), Long Term Evolution(LTE) networks, code division multiple access (CDMA), wideband codedivision multiple access (WCDMA), wireless fidelity (WiFi), satellite,and the like.

The encoded signals are then routed to an equalizer 925 for compensationof any frequency-dependent impairments that occur during transmissionthough the air such as phase and amplitude distortion. After equalizingthe bit stream, the modulator 927 combines the signal with a RF signalgenerated in the RF interface 929. The modulator 927 generates a sinewave by way of frequency or phase modulation. In order to prepare thesignal for transmission, an up-converter 931 combines the sine waveoutput from the modulator 927 with another sine wave generated by asynthesizer 933 to achieve the desired frequency of transmission. Thesignal is then sent through a PA 919 to increase the signal to anappropriate power level. In practical systems, the PA 919 acts as avariable gain amplifier whose gain is controlled by the DSP 905 frominformation received from a network base station. The signal is thenfiltered within the duplexer 921 and optionally sent to an antennacoupler 935 to match impedances to provide maximum power transfer.Finally, the signal is transmitted via antenna 917 to a local basestation. An automatic gain control (AGC) can be supplied to control thegain of the final stages of the receiver. The signals may be forwardedfrom there to a remote telephone which may be another cellulartelephone, other mobile phone or a land-line connected to a PublicSwitched Telephone Network (PSTN), or other telephony networks.

Voice signals transmitted to the mobile terminal 901 are received viaantenna 917 and immediately amplified by a low noise amplifier (LNA)937. A down-converter 939 lowers the carrier frequency while thedemodulator 941 strips away the RF leaving only a digital bit stream.The signal then goes through the equalizer 925 and is processed by theDSP 905. A Digital to Analog Converter (DAC) 943 converts the signal andthe resulting output is transmitted to the user through the speaker 945,all under control of a Main Control Unit (MCU) 903—which can beimplemented as a Central Processing Unit (CPU) (not shown).

The MCU 903 receives various signals including input signals from thekeyboard 947. The keyboard 947 and/or the MCU 903 in combination withother user input components (e.g., the microphone 911) comprise a userinterface circuitry for managing user input. The MCU 903 runs a userinterface software to facilitate user control of at least some functionsof the mobile terminal 901 to provide seeded modeling of user interests.The MCU 903 also delivers a display command and a switch command to thedisplay 907 and to the speech output switching controller, respectively.Further, the MCU 903 exchanges information with the DSP 905 and canaccess an optionally incorporated SIM card 949 and a memory 951. Inaddition, the MCU 903 executes various control functions required of theterminal. The DSP 905 may, depending upon the implementation, performany of a variety of conventional digital processing functions on thevoice signals. Additionally, DSP 905 determines the background noiselevel of the local environment from the signals detected by microphone911 and sets the gain of microphone 911 to a level selected tocompensate for the natural tendency of the user of the mobile terminal901.

The CODEC 913 includes the ADC 923 and DAC 943. The memory 951 storesvarious data including call incoming tone data and is capable of storingother data including music data received via, e.g., the global Internet.The software module could reside in RAM memory, flash memory, registers,or any other form of writable storage medium known in the art. Thememory device 951 may be, but not limited to, a single memory, CD, DVD,ROM, RAM, EEPROM, optical storage, or any other non-volatile storagemedium capable of storing digital data.

An optionally incorporated SIM card 949 carries, for instance, importantinformation, such as the cellular phone number, the carrier supplyingservice, subscription details, and security information. The SIM card949 serves primarily to identify the mobile terminal 901 on a radionetwork. The card 949 also contains a memory for storing a personaltelephone number registry, text messages, and user specific mobileterminal settings.

While the invention has been described in connection with a number ofembodiments and implementations, the invention is not so limited butcovers various obvious modifications and equivalent arrangements, whichfall within the purview of the appended claims. Although features of theinvention are expressed in certain combinations among the claims, it iscontemplated that these features can be arranged in any combination andorder.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the embodiments of the invention are not to belimited to the specific embodiments disclosed and that modifications andother embodiments are intended to be included within the scope of theinvention. Moreover, although the foregoing descriptions and theassociated drawings describe example embodiments in the context ofcertain example combinations of elements and/or functions, it should beappreciated that different combinations of elements and/or functions maybe provided by alternative embodiments without departing from the scopeof the invention. In this regard, for example, different combinations ofelements and/or functions than those explicitly described above are alsocontemplated within the scope of the invention. Although specific termsare employed herein, they are used in a generic and descriptive senseonly and not for purposes of limitation.

1. A method comprising: causing, at least in part, detection of locationinformation associated with a plurality of devices; creating a virtualworkspace among the devices based, at least in part, on the locationinformation, wherein the virtual workspace corresponds to an applicationor a service common to the devices; causing, at least in part,monitoring of movement of one or more of the devices; and causing, atleast in part, manipulation of the virtual workspace, the application,the service, or a combination thereof based, at least in part, on themovement.
 2. A method of claim 1, further comprising: determining alevel of zoom based, at least in part, on the location information, themovement, or combination thereof; and causing, at least in part,presentation of at least a portion of the virtual workspace on the oneor more devices based, at least in part, on the level of zoom, whereinthe presentation includes any virtual objects associated with thedevices, the virtual workspace, the application, the service, or acombination thereof
 3. A method of claim 1, further comprising:receiving a request to store state information associated with thedevices, the virtual workspace, the application, the service or acombination thereof; determining the state information based, at leastin part, on the location information, the movement, or a combinationthereof; and causing, at least in part, storage of the stateinformation, wherein the state information enables restoration of thevirtual workspace.
 4. A method of claim 1, wherein the movement of theone or more devices includes a movement along a plane of the virtualworkplace, a movement in or out of the plane of the virtual workplace, arotation of the one or more devices, a stacking of the one or moredevices, an alignment of the one or more devices, or a combinationthereof.
 5. A method of claim 1, wherein the application or the serviceis media editing, the method further comprising at least one of:causing, at least in part, presentation of one or more media files onthe one or more devices; determining respective lengths of the one ormore media files based, at least in part, on the location information,the movement, or a combination thereof; causing, at least in part, asplicing or a separation of the one or more media files based, at leastin part, on the location information, the movement, or a combinationthereof; causing, at least in part, editing of the one or more mediafiles to include text, still images, audio, transitions effects, or acombination thereof based, at least in part, on the locationinformation, the movement, or a combination thereof; causing, at leastin part, combination of the one or more media files as tracks of a finalmedia file based, at least in part, on the location information, themovement, or a combination thereof; and associating a media effect withat least one of the devices, wherein the media effect is applied on theone or more media files based, at least in part, on the locationinformation, the movement, or a combination thereof
 6. A method of claim1, wherein the application or the service is media playback, the methodfurther comprising at least one of: causing, at least in part, playbackof one or more media files on a first one of the devices and a secondone or more of the devices, wherein the playback of the media files onthe second ones of the devices is delayed with respect to the playbackof the media files on the first one of the devices, and wherein thedelay is based, at least in part, on the location information, themovement, or a combination thereof; causing, at least in part, controlof the playback of the one or more media files on the first one of thedevices, the second ones of the devices, or a combination thereof based,at least in part, on the location information, the movement, or acombination thereof; causing, at least in part, replay of at least aportion of the media files currently playing on the first one of thedevices on the second ones of the devices based, at least in part, onthe location information, the movement, or a combination thereof; anddetecting an eye movement of a user associated with one of the devices,wherein the eye movement selects the first one of the devices from amongthe devices.
 7. A method of claim 1, wherein the application or theservice is image processing, the method further comprising at least oneof: causing, at least in part, compiling of a collage of imagespresented respectively on the one or more devices based, at least inpart, on the location information, the movement, or a combinationthereof; determining a level of image processing to apply on therespective images based, at least in part, on the location information,the movement, or a combination thereof; and defining a perspective of atleast one of the images based, at least in part, on the locationinformation, the movement, or a combination thereof.
 8. A method ofclaim 1, wherein the application or service is social networking, themethod further comprising at least one of: causing, at least in part,presentation of a social graph for the respective one or more devices,wherein the social graphs are combined based, at least in part, on thelocation information, the movement, or a combination thereof;identifying one or more common contacts of the combined social graphwith respect to the one or more devices, wherein the common contacts areoffered a common benefit; generating a recommendation for one or morenew contacts based, at least in part, on the one or more commoncontacts; receiving an input for specifying one or more contactcriteria, wherein the combined social graph is searched according to thecontact criteria; causing, at least in part, establishment of acommunication session between the one or more devices based, at least inpart, on the combined social graph, the location information, themovement, or a combination thereof; causing, at least in part,presentation of descriptions of the relationship types in the combinedsocial graph; and causing, at least in part, presentation of differentportions of the combined social graph on the one or more devices based,at least in part, the location information, the movement, or acombination thereof.
 9. A method of claim 1, further comprising:associating the one or more devices with a virtual controllercorresponding to a function common to the one or more devices based, atleast in part, on the location information, the movement, or acombination thereof; receiving an input for actuating the virtualcontroller; causing, at least in part, control of the function withrespect to a local implementation of the function and one or more remoteimplementations of the function corresponding respectively to the one ormore devices.
 10. A method of claim 1, further comprising: associating adifferent application or service with one or more of the devices; andcombining features, user interface elements, or a combination thereof ofthe different applications and services based, at least in part, on thelocation information, the movement, or a combination thereof.
 11. Anapparatus comprising: at least one processor; and at least one memoryincluding computer program code for one or more computer programs, theat least one memory and the computer program code configured to, withthe at least one processor, cause the apparatus to perform at least thefollowing, cause, at least in part, detection of location informationassociated with a plurality of devices; create a virtual workspace amongthe devices based, at least in part, on the location information,wherein the virtual workspace corresponds to an application or a servicecommon to the devices; cause, at least in part, monitoring of movementof one or more of the devices; and cause, at least in part, manipulationof the virtual workspace, the application, the service, or a combinationthereof based, at least in part, on the movement.
 12. An apparatus ofclaim 1, wherein the apparatus is further caused to: determine a levelof zoom based, at least in part, on the location information, themovement, or combination thereof; and cause, at least in part,presentation of at least a portion of the virtual workspace on the oneor more devices based, at least in part, on the level of zoom, whereinthe presentation includes any virtual objects associated with thedevices, the virtual workspace, the application, the service, or acombination thereof
 13. An apparatus of claim 11, wherein the apparatusis further caused to: receive a request to store state informationassociated with the devices, the virtual workspace, the application, theservice or a combination thereof; determine the state information based,at least in part, on the location information, the movement, or acombination thereof; and cause, at least in part, storage of the stateinformation, wherein the state information enables restoration of thevirtual workspace.
 14. An apparatus of claim 11, wherein the movement ofthe one or more devices includes a movement along a plane of the virtualworkplace, a movement in or out of the plane of the virtual workplace, arotation of the one or more devices, a stacking of the one or moredevices, an alignment of the one or more devices, or a combinationthereof.
 15. An apparatus of claim 11, wherein the application or theservice is media editing, and wherein the apparatus is further caused toperform at least one of: cause, at least in part, presentation of one ormore media files on the one or more devices; determine respectivelengths of the one or more media files based, at least in part, on thelocation information, the movement, or a combination thereof; cause, atleast in part, a splicing or a separation of the one or more media filesbased, at least in part, on the location information, the movement, or acombination thereof; cause, at least in part, editing of the one or moremedia files to include text, still images, audio, transitions effects,or a combination thereof based, at least in part, on the locationinformation, the movement, or a combination thereof; cause, at least inpart, combination of the one or more media files as tracks of a finalmedia file based, at least in part, on the location information, themovement, or a combination thereof; and associate a media effect with atleast one of the devices, wherein the media effect is applied on the oneor more media files based, at least in part, on the locationinformation, the movement, or a combination thereof
 16. An apparatus ofclaim 11, wherein the application or the service is media playback, andwherein the apparatus is further caused to perform at least one of:cause, at least in part, playback of one or more media files on a firstone of the devices and a second one or more of the devices, wherein theplayback of the media files on the second ones of the devices is delayedwith respect to the playback of the media files on the first one of thedevices, and wherein the delay is based, at least in part, on thelocation information, the movement, or a combination thereof; cause, atleast in part, control of the playback of the one or more media files onthe first one of the devices, the second ones of the devices, or acombination thereof based, at least in part, on the locationinformation, the movement, or a combination thereof; cause, at least inpart, replay of at least a portion of the media files currently playingon the first one of the devices on the second ones of the devices based,at least in part, on the location information, the movement, or acombination thereof; and detect an eye movement of a user associatedwith one of the devices, wherein the eye movement selects the first oneof the devices from among the devices.
 17. An apparatus of claim 11,wherein the application or the service is image processing, and whereinthe apparatus is further caused to perform at least one of: cause, atleast in part, compiling of a collage of images presented respectivelyon the one or more devices based, at least in part, on the locationinformation, the movement, or a combination thereof; determine a levelof image processing to apply on the respective images based, at least inpart, on the location information, the movement, or a combinationthereof; and define a perspective of at least one of the images based,at least in part, on the location information, the movement, or acombination thereof.
 18. An apparatus of claim 11, wherein theapplication or service is social networking, and wherein the apparatusis further caused to perform at least one of: cause, at least in part,presentation of a social graph for the respective one or more devices,wherein the social graphs are combined based, at least in part, on thelocation information, the movement, or a combination thereof; identifyone or more common contacts of the combined social graph with respect tothe one or more devices, wherein the common contacts are offered acommon benefit; generate a recommendation for one or more new contactsbased, at least in part, on the one or more common contacts; receive aninput for specifying one or more contact criteria, wherein the combinedsocial graph is searched according to the contact criteria; cause, atleast in part, establishment of a communication session between the oneor more devices based, at least in part, on the combined social graph,the location information, the movement, or a combination thereof; cause,at least in part, presentation of descriptions of the relationship typesin the combined social graph; and cause, at least in part, presentationof different portions of the combined social graph on the one or moredevices based, at least in part, the location information, the movement,or a combination thereof.
 19. An apparatus of claim 11, wherein theapparatus is further caused to: associate the one or more devices with avirtual controller corresponding to a function common to the one or moredevices based, at least in part, on the location information, themovement, or a combination thereof; receive an input for actuating thevirtual controller; cause, at least in part, control of the functionwith respect to a local implementation of the function and one or moreremote implementations of the function corresponding respectively to theone or more devices.
 20. An apparatus of claim 11, wherein the apparatusis further caused: associate a different application or service with oneor more of the devices; and combine features, user interface elements,or a combination thereof of the different applications and servicesbased, at least in part, on the location information, the movement, or acombination thereof. 21-61. (canceled)